SetAxisGear
命令從軸和主動軸的速度之間的比率。
語法
KsCommandStatus SetAxisGear(
int Master,
int Slave,
BOOL Permanent,
double Ratio,
McSource MasterValueSource,
double Acceleration,
double Deceleration,
double Jerk,
McBufferMode BufferMode
);
參數
Master [in]:主軸索引。索引以零為起點;別名將影響此參數。
Slave [in]:從軸索引。索引以零為起點;別名將影響此參數。從軸之最大數量為 32 軸。
Permanent [in]:決定馬達停用後是否保留齒輪狀態。
TRUE:馬達停用但保留齒輪狀態,例如當主軸啟用時從軸也會跟著啟用,而當主軸發生錯誤從軸也會發生錯誤。
FALSE:馬達停用後不會保留齒輪狀態。
Ratio [in]:齒輪比例。例如若比例為 3:2,從屬裝置移動三個單位而主裝置移動兩個單位。
MasterValueSource [in]:定義同步的來源。請見 McSource 類型
- mcSetValue – 同步主軸設定值,建議使用此設定。
- mcActualValue-同步主軸實際值,此設定可能不穩定。
- mcSecondEncoderValue – 軸的第二編碼器實際值。
注意:尚未支援 mcSecondEncoderValue。
Acceleration [in]:齒輪加速度。
Deceleration [in]:齒輪減速度。
Jerk [in]:齒輪加加速度。
BufferMode [in]:定義如何融合兩功能的速度,請見 McBufferMode 類型
回傳值
返回 KsCommandStatus 結構。
備註
- 從軸加速到主軸速度的比率,並在達到此速度時鎖定,同步期間遺失的任何距離都無法趕上。
- 可在 SetAxisGear 運行時使用連續的 SetAxisGear 函式更改齒輪比,無需先 ReleaseAxis。
- 在 “InSync” 後,位置鎖定或只鎖定速度是特定系統才有的。
- 欲分離從軸,請使用 ReleaseAxis。
範例
KsCommandStatus AssignGearSlave(INT Master, INT Slave) {
KsCommandStatus gear = WaitForCommand(10, FALSE, SetAxisGear(Master, Slave, FALSE,
2 / 1, //Gear factor
mcSetValue, /*Master Value Source. Value of the master position used.
Cam be the target position (commanded value and set value are identical)
or the actual position.*/
36000,
36000,
3600000,
mcAborting)
);
return gear;
}
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
標頭檔 | ksmotion.h | ksmotion.h |
程式庫 | KsApi_Rtss.lib | KsApi.lib |
參見